#ifndef KDTREE_LEARNER_H
#define KDTREE_LEARNER_H

#include "KDTreeLearner.h"
#include "TFGenerator.h"



 
class MREAgent;
class KDTree; 
class KDTreeLearner
	:public TFGenerator
{
public: 
	int action_number; 
	int obs_dim; 

	KDTree** learners; 

public:

	KDTreeLearner(MREAgent* p, int an, int od, taskspec_t& spec); 
	virtual void learn(const Transition* t); 
	virtual Observation predict(Observation st, Action a); 
	virtual void batchLearn( list<Transition>& history); 
	virtual double getConfidence(Observation st, Action a); 

	list<Observation> dataPoints; 
	MREAgent* m_agent; 

	double getKnownness(Observation st, Action a); 
};

#endif

